home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / StormMesa / README.QUAKE < prev    next >
Text File  |  1998-12-15  |  7KB  |  209 lines

  1.  
  2.              Info on using Mesa 3.0 with Linux Quake I and Quake II
  3.  
  4.  
  5.  
  6. Disclaimer
  7. ----------
  8.  
  9. I am _not_ a Quake expert by any means.  I pretty much only run it to
  10. test Mesa.  There have been a lot of questions about Linux Quake and
  11. Mesa so I'm trying to provide some useful info here.  If this file
  12. doesn't help you then you should look elsewhere for help.  The Mesa
  13. mailing list or the news://news.3dfx.com/3dfx.linux.glide newsgroup
  14. might be good.
  15.  
  16. Again, all the information I have is in this file.  Please don't email
  17. me with questions.
  18.  
  19. If you have information to contribute to this file please send it to
  20. me at brianp@elastic.avid.com
  21.  
  22.  
  23.  
  24. Linux Quake
  25. -----------
  26.  
  27. You can get Linux Quake from http://www.idsoftware.com/
  28.  
  29. Quake I and II for Linux were tested with, and include, Mesa 2.6.  You
  30. shouldn't have too many problems if you simply follow the instructions
  31. in the Quake distribution.
  32.  
  33.  
  34.  
  35. RedHat 5.0 Linux problems
  36. -------------------------
  37.  
  38. RedHat Linux 5.x uses the GNU C library ("glibc" or "libc6") whereas
  39. previous RedHat and other Linux distributions use "libc5" for its
  40. runtime C library.
  41.  
  42. Linux Quake I and II were compiled for libc5.  If you compile Mesa
  43. on a RedHat 5.x system the resulting libMesaGL.so file will not work
  44. with Linux Quake because of the different C runtime libraries.
  45. The symptom of this is a segmentation fault soon after starting Quake.
  46.  
  47. If you want to use a newer version of Mesa (like 3.x) with Quake on
  48. RedHat 5.x then read on.
  49.  
  50. The solution to the C library problem is to force Mesa to use libc5.
  51. libc5 is in /usr/i486-linux-libc5/lib on RedHat 5.x systems.
  52.  
  53. Emil Briggs (briggs@tick.physics.ncsu.edu) nicely gave me the following
  54. info:
  55.  
  56. >   I only know what works on a RedHat 5.0 distribution. RH5 includes
  57. > a full set of libraries for both libc5 and glibc. The loader ld.so
  58. > uses the libc5 libraries in /usr/i486-linux-libc5/lib for programs
  59. > linked against libc5 while it uses the glibc libraries in /lib and
  60. > /usr/lib for programs linked against glibc.
  61. > Anyway I changed line 41 of mklib.glide to
  62. >     GLIDELIBS="-L/usr/local/glide/lib -lglide2x -L/usr/i486-linux-libc5/lib"
  63. > And I started quake2 up with a script like this
  64. > #!/bin/csh
  65. > setenv LD_LIBRARY_PATH /usr/i486-linux-libc5/lib
  66. > setenv MESA_GLX_FX f
  67. > ./quake2 +set vid_ref gl
  68. > kbd_mode -a
  69. > reset
  70.  
  71.  
  72. I've already patched the mklib.glide file.  You'll have to start Quake
  73. with the script shown above though.
  74.  
  75.  
  76.  
  77. **********************
  78.  
  79. Daryll Strauss writes:
  80.  
  81. Here's my thoughts on the problem. On a RH 5.x system, you can NOT build
  82. a libc5 executable or library. Red Hat just doesn't include the right
  83. stuff to do it.
  84.  
  85. Since Quake is a libc5 based application, you are in trouble. You need
  86. libc5 libraries.
  87.  
  88. What can you do about it? Well there's a package called gcc5 that does
  89. MOST of the right stuff to compile with libc5. (It brings back older
  90. header files, makes appropriate symbolic links for libraries, and sets
  91. up the compiler to use the correct directories) You can find gcc5 here: 
  92. ftp://ecg.mit.edu/pub/linux/gcc5-1.0-1.i386.rpm
  93.  
  94. No, this isn't quite enough. There are still a few tricks to getting
  95. Mesa to compile as a libc5 application. First you have to make sure that
  96. every compile uses gcc5 instead of gcc. Second, in some cases the link
  97. line actually lists -L/usr/lib which breaks gcc5 (because it forces you
  98. to use the glibc version of things)
  99.  
  100. If you get all the stuff correctly compiled with gcc5 it should work.
  101. I've run Mesa 3.0B6  and its demos in a window with my Rush on a Red Hat
  102. 5.1 system. It is a big hassle, but it can be done. I've only made Quake
  103. segfault, but I think that's from my libRush using the wrong libc. 
  104.  
  105. Yes, mixing libc5 and glibc is a major pain. I've been working to get
  106. all my libraries compiling correctly with this setup. Someone should
  107. make an RPM out of it and feed changes back to Brian once they get it
  108. all working. If no one else has done so by the time I get the rest of my
  109. stuff straightened out, I'll try to do it myself.
  110.  
  111.                             - |Daryll
  112.  
  113.  
  114.  
  115. *********************
  116.  
  117. David Bucciarelli (tech.hmw@plus.it) writes:
  118.  
  119. I'm using the Mesa-3.0beta7 and the RedHat 5.1 and QuakeII is
  120. working fine for me.  I had only to make a small change to the
  121. Mesa-3.0/mklib.glide file, from:
  122.  
  123.  
  124.     GLIDELIBS="-L/usr/local/glide/lib -lglide2x
  125. -L/usr/i486-linux-libc5/lib -lm"
  126.  
  127. to:
  128.  
  129.     GLIDELIBS="-L/usr/i486-linux-libc5/lib -lglide2x"
  130.  
  131. and to make two symbolic links:
  132.  
  133. [david@localhost Mesa]$ ln -s libMesaGL.so libMesaGL.so.2
  134. [david@localhost Mesa]$ ln -s libMesaGLU.so libMesaGLU.so.2
  135.  
  136. I'm using the Daryll's Linux glide rpm for the Voodoo2 and glibc (it
  137. includes also the Glide for the libc5). I'm not using the /dev/3Dfx and
  138. running QuakeII as root with the following env. var:
  139.  
  140. export
  141. LD_LIBRARY_PATH=/dsk1/home/david/src/gl/Mesa/lib:/usr/i486-linux-libc5/lib
  142.  
  143. I think that all problems are related to the glibc, Quake will never
  144. work if you get the following output:
  145.  
  146. [david@localhost Mesa]$ ldd lib/libMesaGL.so
  147.         libglide2x.so => /usr/lib/libglide2x.so (0x400f8000)
  148.         libm.so.6 => /lib/libm.so.6 (0x40244000)
  149.         libc.so.6 => /lib/libc.so.6 (0x4025d000)
  150.         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
  151.  
  152. You must get the following outputs:
  153.  
  154. [david@localhost Mesa]# ldd lib/libMesaGL.so
  155.         libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so
  156. (0x400f3000)
  157.  
  158. [root@localhost quake2]# ldd quake2
  159.         libdl.so.1 => /lib/libdl.so.1 (0x40005000)
  160.         libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x40008000)
  161.         libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x40010000)
  162.  
  163. [root@localhost quake2]# ldd ref_gl.so
  164.         libMesaGL.so.2 =>
  165. /dsk1/home/david/src/gl/Mesa/lib/libMesaGL.so.2 (0x400eb000)
  166.         libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so
  167. (0x401d9000)
  168.         libX11.so.6 => /usr/i486-linux-libc5/lib/libX11.so.6
  169. (0x40324000)
  170.         libXext.so.6 => /usr/i486-linux-libc5/lib/libXext.so.6
  171. (0x403b7000)
  172.         libvga.so.1 => /usr/i486-linux-libc5/lib/libvga.so.1
  173. (0x403c1000)
  174.         libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x403f5000)
  175.         libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x403fd000)
  176.  
  177.  
  178. ***********************
  179.  
  180. Steve Davies (steve@one47.demon.co.uk) writes:
  181.  
  182.  
  183. Try using:
  184.  
  185.     export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
  186.     ./quake2 +set vid_ref gl
  187.  
  188. to start the game... Works for me, but assumes that you have the
  189. compatability libc5 RPMs installed.
  190.  
  191.  
  192. ***************************
  193.  
  194. WWW resources - you may find additional Linux Quake help at these URLs:
  195.  
  196.  
  197. http://quake.medina.net/howto
  198.  
  199. http://webpages.mr.net/bobz
  200.  
  201. http://www.linuxgames.com/quake2/
  202.  
  203.  
  204.  
  205. ----------------------------------------------------------------------
  206. $Id: README.QUAKE,v 1.3 1998/08/23 15:26:26 brianp Exp $
  207.